package org.misalen.web.database.model.mysql.pro;

import java.math.BigDecimal;
import java.math.BigInteger;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.misalen.annotations.Enumeration;
import org.misalen.annotations.ModelComment;
import org.misalen.web.database.model.mysql.BaseSqlModel;

/**
 * 网页广告内容
 * 
 * @author jianhun
 *
 */
@Entity
@Table(name = "ProWebAdvertising")
@DynamicInsert(true)
@DynamicUpdate(true)
public class ProWebAdvertising extends BaseSqlModel {

	@ModelComment("用户id")
	@Column(name = "userId", nullable = false)
	private String userId;

	@ModelComment("广告图片地址")
	@Column(name = "adverImagesUrl", nullable = false)
	private String adverImagesUrl;

	@ModelComment("广告语")
	@Column(name = "adverSlogan", nullable = false)
	private String adverSlogan;

	@ModelComment("电话或链接")
	@Column(name = "mobileOrLink", nullable = false)
	private String mobileOrLink;

	@ModelComment("推广费用(分)")
	@Column(name = "promotionExpenses", nullable = false)
	private Integer promotionExpenses;

	@ModelComment("推广人数")
	@Column(name = "promotionNumber", nullable = false)
	private Integer promotionNumber;

	@ModelComment("推广方式")
	@Enumeration("pro-promotion-model")
	@Column(name = "promotionMode", nullable = false)
	private String promotionMode;

	@ModelComment("推广城市")
	@Column(name = "promotionCity")
	private String promotionCity;

	@ModelComment("推广距离(米)")
	@Column(name = "promotionDistance")
	private Integer promotionDistance;

	@ModelComment("经度")
	@Column(name = "longitude", scale = 6, precision = 10)
	private BigDecimal longitude;

	@ModelComment("纬度")
	@Column(name = "latitude", scale = 6, precision = 10)
	private BigDecimal latitude;

	@ModelComment("载体Id")
	@Column(name = "carrierId")
	private String carrierId;

	@ModelComment("载体Url或者链接")
	@Column(name = "carrierUrl", nullable = false)
	private String carrierUrl;

	@ModelComment("状态")
	@Enumeration("pro-advertising-state")
	@Column(name = "state", nullable = false)
	private String state;

	@ModelComment("是否抢完")
	@Column(name = "grabThe", nullable = false)
	private String grabThe;

	@Transient
	@ModelComment("归属用户名")
	private String userName;

	@Transient
	@ModelComment("是否抢到")
	private String isGet;

	@Transient
	@ModelComment("抢到金额(分)")
	private BigInteger getMoney;

	@Transient
	@ModelComment("播放终端")
	private String shareNum;
	
	@Transient
	@ModelComment("详情地址")
	private String detailsUrl;

	public String getDetailsUrl() {
		return detailsUrl;
	}

	public void setDetailsUrl(String detailsUrl) {
		this.detailsUrl = detailsUrl;
	}

	public String getShareNum() {
		return shareNum;
	}

	public void setShareNum(String shareNum) {
		this.shareNum = shareNum;
	}
	
	/**
	 * 获取userName
	 * 
	 * @return userName userName
	 */
	public String getUserName() {
		return userName;
	}

	/**
	 * 设置userName
	 * 
	 * @param userName
	 *            userName
	 */
	public void setUserName(String userName) {
		this.userName = userName;
	}

	/**
	 * 获取getMoney
	 * 
	 * @return getMoney getMoney
	 */
	public BigInteger getGetMoney() {
		return getMoney;
	}

	/**
	 * 设置getMoney
	 * 
	 * @param getMoney
	 *            getMoney
	 */
	public void setGetMoney(BigInteger getMoney) {
		this.getMoney = getMoney;
	}

	/**
	 * 获取isGet
	 * 
	 * @return isGet isGet
	 */
	public String getIsGet() {
		return isGet;
	}

	/**
	 * 设置isGet
	 * 
	 * @param isGet
	 *            isGet
	 */
	public void setIsGet(String isGet) {
		this.isGet = isGet;
	}

	/**
	 * 获取grabThe
	 * 
	 * @return grabThe grabThe
	 */
	public String getGrabThe() {
		return grabThe;
	}

	/**
	 * 设置grabThe
	 * 
	 * @param grabThe
	 *            grabThe
	 */
	public void setGrabThe(String grabThe) {
		this.grabThe = grabThe;
	}

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}

	/**
	 * 获取carrierId
	 * 
	 * @return carrierId carrierId
	 */
	public String getCarrierId() {
		return carrierId;
	}

	/**
	 * 设置carrierId
	 * 
	 * @param carrierId
	 *            carrierId
	 */
	public void setCarrierId(String carrierId) {
		this.carrierId = carrierId;
	}

	/**
	 * 获取carrierUrl
	 * 
	 * @return carrierUrl carrierUrl
	 */
	public String getCarrierUrl() {
		return carrierUrl;
	}

	/**
	 * 设置carrierUrl
	 * 
	 * @param carrierUrl
	 *            carrierUrl
	 */
	public void setCarrierUrl(String carrierUrl) {
		this.carrierUrl = carrierUrl;
	}

	/**
	 * 获取userId
	 * 
	 * @return userId userId
	 */
	public String getUserId() {
		return userId;
	}

	/**
	 * 设置userId
	 * 
	 * @param userId
	 *            userId
	 */
	public void setUserId(String userId) {
		this.userId = userId;
	}

	/**
	 * 获取adverImagesUrl
	 * 
	 * @return adverImagesUrl adverImagesUrl
	 */
	public String getAdverImagesUrl() {
		return adverImagesUrl;
	}

	/**
	 * 设置adverImagesUrl
	 * 
	 * @param adverImagesUrl
	 *            adverImagesUrl
	 */
	public void setAdverImagesUrl(String adverImagesUrl) {
		this.adverImagesUrl = adverImagesUrl;
	}

	/**
	 * 获取adverSlogan
	 * 
	 * @return adverSlogan adverSlogan
	 */
	public String getAdverSlogan() {
		return adverSlogan;
	}

	/**
	 * 设置adverSlogan
	 * 
	 * @param adverSlogan
	 *            adverSlogan
	 */
	public void setAdverSlogan(String adverSlogan) {
		this.adverSlogan = adverSlogan;
	}

	/**
	 * 获取mobileOrLink
	 * 
	 * @return mobileOrLink mobileOrLink
	 */
	public String getMobileOrLink() {
		return mobileOrLink;
	}

	/**
	 * 设置mobileOrLink
	 * 
	 * @param mobileOrLink
	 *            mobileOrLink
	 */
	public void setMobileOrLink(String mobileOrLink) {
		this.mobileOrLink = mobileOrLink;
	}

	/**
	 * 获取promotionExpenses
	 * 
	 * @return promotionExpenses promotionExpenses
	 */
	public Integer getPromotionExpenses() {
		return promotionExpenses;
	}

	/**
	 * 设置promotionExpenses
	 * 
	 * @param promotionExpenses
	 *            promotionExpenses
	 */
	public void setPromotionExpenses(Integer promotionExpenses) {
		this.promotionExpenses = promotionExpenses;
	}

	/**
	 * 获取promotionNumber
	 * 
	 * @return promotionNumber promotionNumber
	 */
	public Integer getPromotionNumber() {
		return promotionNumber;
	}

	/**
	 * 设置promotionNumber
	 * 
	 * @param promotionNumber
	 *            promotionNumber
	 */
	public void setPromotionNumber(Integer promotionNumber) {
		this.promotionNumber = promotionNumber;
	}

	/**
	 * 获取promotionMode
	 * 
	 * @return promotionMode promotionMode
	 */
	public String getPromotionMode() {
		return promotionMode;
	}

	/**
	 * 设置promotionMode
	 * 
	 * @param promotionMode
	 *            promotionMode
	 */
	public void setPromotionMode(String promotionMode) {
		this.promotionMode = promotionMode;
	}

	/**
	 * 获取promotionCity
	 * 
	 * @return promotionCity promotionCity
	 */
	public String getPromotionCity() {
		return promotionCity;
	}

	/**
	 * 设置promotionCity
	 * 
	 * @param promotionCity
	 *            promotionCity
	 */
	public void setPromotionCity(String promotionCity) {
		this.promotionCity = promotionCity;
	}

	/**
	 * 获取promotionDistance
	 * 
	 * @return promotionDistance promotionDistance
	 */
	public Integer getPromotionDistance() {
		return promotionDistance;
	}

	/**
	 * 设置promotionDistance
	 * 
	 * @param promotionDistance
	 *            promotionDistance
	 */
	public void setPromotionDistance(Integer promotionDistance) {
		this.promotionDistance = promotionDistance;
	}

	/**
	 * 获取longitude
	 * 
	 * @return longitude longitude
	 */
	public BigDecimal getLongitude() {
		return longitude;
	}

	/**
	 * 设置longitude
	 * 
	 * @param longitude
	 *            longitude
	 */
	public void setLongitude(BigDecimal longitude) {
		this.longitude = longitude;
	}

	/**
	 * 获取latitude
	 * 
	 * @return latitude latitude
	 */
	public BigDecimal getLatitude() {
		return latitude;
	}

	/**
	 * 设置latitude
	 * 
	 * @param latitude
	 *            latitude
	 */
	public void setLatitude(BigDecimal latitude) {
		this.latitude = latitude;
	}

}
